package com.fling.hero.state;

import com.badlogic.gdx.math.Vector2;
import com.fling.Constants;
import com.fling.entity.CollisionEntity;
import com.fling.objects.Hero;

public abstract class HeroState implements Constants{
	protected Hero hero;
	protected STATE_TYPE type;
	protected Vector2 tmp;

	public HeroState(Hero h) {
		hero = h;
		tmp=new Vector2();
		enter();
	}

	public abstract void update(float delta);
	
	public abstract void newAction(INPUT input);

	public abstract void enter();

	public abstract void exit();
	
	public abstract void collide(CollisionEntity otherBody);

	public Hero getHero() {
		return hero;
	}

	public void setHero(Hero hero) {
		this.hero = hero;
	}

	public STATE_TYPE getType() {
		return type;
	}

	public void setType(STATE_TYPE type) {
		this.type = type;
	}
	
	
}
